Internet Protocol (IP) communications networks have become critically important for voice, data and video communications. As a result, these networks are rapidly growing in size and complexity. IP communications networks route packets of information from sources to destinations using routing tables that include IP addresses. One or more blocks of IP addresses are allocated to a node. Each block of addresses comprises consecutive numbers. A block of addresses is called a subnet. Due to the significant increase in IP services, IP addresses are now recognized as a critical resource. While service providers must maintain a high utilization of their IP address pool, they also desire to limit the number of subnets at a node, since excessive fragmentation of addresses at a node leads to inefficient traffic routing. Telecommunications service providers, software providers, and equipment manufacturers have realized the need for software systems that effectively manage IP addresses using automated systems. However, current state-of-the-art systems use ad-hoc heuristic methods and IP communications network managers' experience for the allocation of subnets among the nodes in the network. Optimization-based models for the optimal allocation of subnets at every node of an IP communications network would significantly enhance such automated systems. Many IP text books provide background material on the planning and management of IP addresses. For example, K. Washburn and J. Evans provide such background in Chapter 3 of their book TCP/IP: Running a Successful Network, Addison-Wesley, Second Edition, 1996, which is incorporated herein by reference.